home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1998 October
/
Macworld (1998-10).dmg
/
Shareware World
/
Fonts
/
GSF-FONDetective
/
FONDetective Release Notes...
< prev
next >
Wrap
Text File
|
1998-08-01
|
11KB
|
246 lines
RELEASE NOTES FOR FONDetective
What does it do...?
FONDetective writes a text file reporting exhaustively on every
little last thing in the FOND resources of font suitcases. It works
on Type 1, TrueType or Multiple Master suitcases (which are not
fundamentally distinct in any case), and it draws a few conclusions
in the way of error-reporting and helpful hints. If you want to know
why a font like AT&T Garamond is so evil to set, FONDetective will
tell you. If you want to know why low-numbered Adobe volumes have
such bogus kerns, FONDetective will show you where the bodies are
buried. If you want to know what's wrong with a RIP-crashing font,
FONDetective will at least offer clues. And if you need to download
the printer font associated with Franklin Gothic Roman No. 2,
FONDetective will whisper its true name.
Using FONDetective...
FONDetective is System 7 and above only. Its only interface is Drag
& Drop, so it will not work with earlier systems. If you try to use
it with an earlier system, the software will display an error
message and quit gracefully. If you double-click on the icon from
System 7, a help message will be displayed and the software will
quit gracefully.
To use FONDetective, Drag & Drop one or more suitcases on the icon
(or an alias). A plain text file will be created that will document
with great precision and _no_ concision (grin) the contents of each
FOND resource in the suitcase. You can examine and print the file in
any text editor. (Note: if you use BBEdit, bump its allocation; the
reports can get _very_ large. Also: it's a sweet idea to make sure
you have a few megs of disk space free, particularly with Multiple
Master fonts, which have a new FOND - with a _lot_ of kerning pairs -
for each 'instance'.)
The file FONDetective creates is a space-formatted plain text file.
In consequence, you should view and print it in a fixed-width font
such as Courier or Monaco. Monaco does not support the full Macintosh
character set, so, ideally, you should print in Courier, Prestige
Elite, or some other fully-charactered fixed-width font. Alas, even
fixed-width fonts aren't fixed in _every_ width, so you will see some
shifting in alignment in the Widths and Kern tables.
You can Drag & Drop as many suitcases as you like on the icon, and
each will be processed in turn, with each suitcase processed
resulting in a new text file with the extension ".FND" appended to
the name of the source suitcase. _In NO case_ will the source
suitcase be altered in any way, and you can operate on suitcases that
are currently in use by Suitcase or Master Juggler.
As with any utility of mine that takes time to run, FONDetective
features the sleek and understated Movado Museum watch cursor. And:
at the completion of a batch of suitcases, the software will beep to
let you know that you have regained control of your Mac.
Error reporting...
If FONDetective beeps _more than once_ in a batch of files, it means
that an error has occurred. There are three levels of errors, and
FONDetective gives meaningful reports on two of them.
The first level is a FOND error (e.g., a duplicate style, which can
be introduced by injudicious use of the Font/DA Mover). FONDetective
will flag this type of error in the report and continue processing
that suitcase. At the time of the beep, the software will display the
nature of the error to the screen.
The second level is a resource or system error associated with the
suitcase. In this event, FONDetective will flag the error by its
system error number in the report and to the screen and quit
gracefully. (I've never seen this happen spontaneously, but I built
in the reporting because it _could_. If you want to _make_ it happen,
open a suitcase with ResEdit, then run that same suitcase through
FONDetective.)
The third level is a fatal system error, which means that execution
is summarily terminated by the operating system. About these I can
report nothing, but, should they occur, the most likely culprits are
insufficient disk space or bad disk sectors.
Having said all that about errors, I should add that FONDetective
itself is not _causing_ errors but only _reporting_ on them. To my
knowledge, based on an _extreme_ amount of testing, it is completely
free of bugs. And, even if that turns out to be untrue, I _know_ that
it is not wreaking the kind of system error havoc that comes of
playing fast and loose with the operating system. We are doing
everything in legal - pedestrian, even - ways. So: if you _do_ have a
fatal error, and if the cause is not intuitively obvious, run
SUM/Norton/etc. right away.
And: in fact, there is essentially a fourth level of error-reporting,
which amounts to a legal FOND element that is nevertheless anomalous.
For example, for reasons unknown, my copy of Adobe ITC Franklin
Gothic (volume 23) does not have a Bounding Box Table. This is not an
error as such, but it's odd, as you will see as you become familiar
with FONDetective reports.
FONDetective reports...
FONDetective reports on each and every thing found in the FOND
resource. If you've ever looked at a FOND using the ResEdit template,
you know that a FOND consists of a few semi-intelligible bits of
information followed by a sea of hexadecimal numbers (grin). In fact,
a FOND is actually a remarkably compact rendering of an immense
quantity of data. Never was there a poet so economical with words as
the FOND is with numbers, and the FOND wastes not one byte. Of
course, the FOND is being economical with disk space that is no
longer dear, but we can hardly fault the Apple engineers for being
kind to users of tiny, expensive hard (and floppy!) disks that are
now long since obsolete.
In any case, while the FOND contains a _lot_ of useful information,
it has never contained much in the way of _accessible_ information.
FONDetective gives you access that that data in a documented,
human-readable format. Hexadecimal numbers that refer to integral
quantities, memory addesses offsets, and resource I.D.s are shown
as integer decimal numbers. Hex numbers that refer to font metric
units (for want of a better name) are shown in floating point decimal
numbers.
(For reference, a font metric unit is the em square of a hypothetical
one-point font size. It is stored as a two byte signed short integer,
with the four most significant bits representing the signed integer
portion of the ultimate value and the twelve least significant bits
denoting the signed fraction. Expressed in decimal, the stored
integral number is divided by 4096.0 to yield the displayed floating
point number. Because the the fraction is expressed in 12 bits, the
font metric unit has a granularity of 4,096, which means is has,
effectively, 3-1/2 places of decimal precision. In consequence, the
floating point representation of font metric units is rounded to
three decimal places.)
Every bit of information in the FOND is reported upon, but it is not
shown in the exact sequence in which it occurs. The Style Table is
shown before the Widths and Kerns, for example, even though it
usually comes between them or after both (in Multiple Master fonts).
This is done for the convenience of the reader. It seems likely that
you'll need the Style information more often, so it is put first.
In the same respect, much of what is reported is either inferred or
derived from the stored data. For example, the FOND never reports on
styles, but only lists a style's number. The Style Name Suffixes are
shown _as they work_, not as they come out of the FOND. And the
Printer Font File Name is derived algorithmically; it is not stored
in the FOND at all. As above, the whole point is to make the data
accessible to and convenient for the user.
For the most part, the information is obvious as presented. If you
need greater detail than I'm providing (!!), the structure of the
FOND is documented in Inside Macintosh IV and LaserWriter Reference.
If you avail yourself of these resources, take note that some
critical information is either incorrect or absent, most notably with
the latter book.
Saving paper...
If I were writing a utility for money, rather than a development tool
that I'm documenting and giving away, I would do three things: first,
I would show the FONDs by name in a List Manager list, allowing you
to select them individually. Second, I would display the selected
FOND to a scrolling window, so that you could read it to the screen.
And, third, I would make it possible to print directly from the
application, with the software taking care to make best use of the
paper (perhaps with my own truly mono-spaced font). But I ain't, not
now anyway. So viewing and printing are up to you.
For the most part, you'll want to view rather than print. For this I
recommend BBEdit, as always. It's fast, reliable and free, and it's
mono-spaced out of the box.
But: if you print from BBEdit, you will be dismayed at the number of
pages a typical FONDetective report runs to. For this reason, I've
made a QuarkXPress template (included in this archive) that lets you
pack a lot of FONDetective information onto a few pages.
The usual quasi-legal white noise...
FONDetective, its source and executable code, and this poor excuse
for a manual are Copyright (C) 1998 by Greg Swann. All rights are
most emphatically reserved. Greg Swann is a Macintosh software
developer specializing in Desktop Publishing applications. He can be
reached via email at gswann@kagi.com or gswann@primenet.com or by
snailmail at:
Greg Swann
3608 West Cochise Drive
Phoenix, AZ 85051
FONDetective is freeware and may be distributed freely so long as the
complete, original archive is transmitted.
FONDetective is delivered "as is", without any warranties, expressed
or implied. It is not warranted to be useful _to_ anyone, _for_
anything, and in no wise am I to be held responsible for any
unfortunate consequences resulting from its use or misuse. And I
_hate_ having to say things like that. I do my best to write useful,
simple, elegant, bug-free solutions to difficult problems. In this
case, I am giving of my labor at no charge at all. If you take it
into your head that I represent your big chance to 'strike it rich,'
you will pay a lot in legal fees to discover that you have
miscalculated.
And: to those to whom the above disclaimer does not apply: forgive me
for having to make it. It's _you_ whom I'm working for, for pay or
for free. I appreciate your custom and your support, and I wish we
all could just comb the others out of our hair...
Projects for the ambitious...
...among whom I do not number myself... (grin)
I don't feel confident enough with PageMaker to make a paper-saving
template in it. If you _do_, then it would be an nice enhancement for
FONDetective users.
In principle, it should be fairly easy to make a Torquemada set that
would read a FONDetective report and style tag it for a very pretty,
very compact QuarkXPress template. I for one would be boundlessly
grateful if someone were to do this.
Lastly, and most ambitiously, I think it would be nice to have a
fully charactered fixed-width font that is fixed in width in each and
every slot. This would come in handy in many contexts, not just this
one.
Very Best,
Greg Swann
8/1/98